package com.example.springboottest.random;

import java.util.Random;

/**
 * 只要两个 Random 对象的种子相同，而且方法的调用顺序也相同，它们就会产生相同的数字序列 也就是说，
 * Random 产生的数字并不是真正随机的，而是一种伪随机数
 * 在多线程环境下使用 ThreadLocalRandom
 */
public class RandTest {
    public static void main(String[] args) {
        Random r1 = new Random(50);
        System.out.println("第一个种子为 50 的 Random 对象");
        System.out.println("r1.nextInt()\t" + r1.nextInt(10));
        System.out.println("r1.nextDouble()\t" + r1.nextDouble());

        Random r2 = new Random(50);
        System.out.println("第二个种子为 50 的 Random 对象");
        System.out.println("r2.nextInt()\t" + r2.nextInt(10));
        System.out.println("r2.nextDouble()\t" + r2.nextDouble());

        Random r3 = new Random(System.currentTimeMillis());
        System.out.println("第三个种子为 当前时间 的 Random 对象");
        System.out.println("r3.nextInt()\t" + r3.nextInt(10));
        System.out.println("r3.nextDouble()\t" + r3.nextDouble());
    }
}